/**
 *
 *----------Created by 黄伟峰 on 2018/5/23.----------/
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　　┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　　　　　┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃神兽保佑
 * 　　　　┃　　　┃代码无BUG！
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━神兽出没━━━━━━by:web_hwf@sina.com
 */


/*======================================================
*@author wf_Huang
*@Time 2018/5/23 14:11
*=======================================================
*@function  文件系统
*=====================================================*/

//引入模块
const  fs = require('fs') ;

// //打开文件
// let fd = fs.openSync('test.txt','a+') ;
// console.log(fd);
//
// //写入内容
// let xr = fs.writeFileSync(fd,'今天天气不错，学了一下node','utf-8') ;
//
// //保存并退出
// let cl = fs.closeSync(fd) ;


/*======================================================
*@author wf_Huang
*@Time 2018/5/23 14:30
*=======================================================
*@function  异步操作文件
* 没有返回结果
*=====================================================*/

/*
fs.open('test2.txt','a+',(err,fd)=> {

    //判断是否出错
    if(!err){

        //写入文件
       fs.writeFile(fd,'这是一个神奇的网站',(err)=>{

           if(!err){
               console.log('写入文件成功');
           }else {
               throw err
           }

           //关闭文件
           fs.close(fd,(err)=>{

               if(!err){
                   console.log('文件保存成功，并且关闭');
               }else {
                   throw err

               }

           })

       })

    }else {
        throw err ;

    }
}) ;*/


/*======================================================
*@author wf_Huang
*@Time 2018/5/23 14:38
*=======================================================
*@function  文件的流试操作
*=====================================================*/

/*
//创建写入流
let ws = fs.createWriteStream('test.txt') ;

//打开通道
ws.once("open",()=>{
    console.log("通道一打开");
}) ;
ws.once("close",()=>{
    console.log("通道一关闭");
}) ;


//写入内容
ws.write('我在那路边');
ws.write('见到一分钱');
ws.write('我没捡');
ws.write('哈哈哈');

//关闭
ws.end() ;
*/


/*======================================================
*@author wf_Huang
*@Time 2018/5/23 14:46
*=======================================================
*@function  异步读取文件流
*=====================================================*/
/*
fs.readFile('test.txt',(err,data)=>{
   //判断
    if(!err){
        console.log(data.toString());
    }else {
        throw err ;
    }

})
*/

//读取图片
/*fs.readFile('personal.png',(err,data)=>{
    //判断
    if(!err){
        //写入一张图片
        fs.writeFile('img.jpg',data ,(err)=>{
            if(!err){
                console.log("读取图片成功");
            }else {throw err}

        })
    }else {
        throw err ;
    }

}) ;*/

/*======================================================
*@author wf_Huang
*@Time 2018/5/23 15:12
*=======================================================
*@function  创建读入流
*=====================================================*/

/*
let rs = fs.createReadStream('personal.png') ;
let ws = fs.createWriteStream('new.png') ;

ws.once("open",()=>{
    console.log("读取流-通道一打开");
}) ;
ws.once("close",()=>{
    console.log("读取流-通道一关闭");
}) ;
rs.once("open",()=>{
    console.log("写入流-通道一打开");
}) ;
rs.once("close",()=>{
    console.log("写入流-通道一关闭");
}) ;

//绑定data
rs.on('data',(data)=>{
    console.log(data);
    ws.write(data) ;
})
*/


//创建管道
let rs = fs.createReadStream('personal.png') ;
let ws = fs.createWriteStream('new.png') ;
rs.pipe(ws) ;